1. Field of the Invention
The present invention relates generally to storage area networks.
2. Description of the Related Art
Fibre Channel has been a preferred protocol for data center storage for many years and continues to be so. This is true despite some architectural problems with Fibre Channel. One architectural problem is a limited number of domains, commonly equated to switches. For one fabric Fibre Channel has a theoretical maximum of 239 domains, each capable of theoretically 256 areas, each with a theoretical limit of 255 devices. However, other aspects of the protocol put a much lower practical limit on the size of a fabric. One such aspect relates to operations that must occur when a switch is added to or removed from the fabric. The operations are so time and processor intensive that usually a fabric has many fewer domains for stability purposes.
This smaller practical domain limit and a practice of dedicating a domain to a switch results in a maximum fabric size much less than currently desired in modern large data centers. One solution to this problem has been the use of Fibre Channel routers. Basically routers connect two different fabrics but prevent the two fabrics from merging, as would occur under normal Fibre Channel procedures. Using routers each fabric can be kept at a reasonable size and yet the total number of devices on the overall network can reach much higher levels.
While routers have allowed a large increase in overall network size, because of other Fibre Channel fundamental characteristics, even a router topology becomes a limiting factor in network size. Certain Fibre Channel packets, specifically certain extended link service (ELS) requests (REQs) and responses (RSPs) contain device addresses in the payload of the packet as well as the header. One characteristic of routers is that the routers translate device addresses at each router location. This is because each node device on a fabric can only use fabric local addresses but this would result in many address conflicts if the packet is just provided unchanged to another fabric. So the router performs address translations for each packet. For headers this translation can be setup to be performed almost entirely in switch ASIC hardware but payload address translation cannot be automated in a similar manner. Thus each packet that carries addresses in the payload must be handled by a router processor using firmware. Thus, for a router, each ELS REQ and RSP packet that contains an address in the header must be trapped and handled by the router processor. This slows down operations and may lead to a performance limitation, which then turns into a network size limitation.
One characteristic of Fibre Channel that has led to its continued success is the reliability of the protocol. This underlying reliability is often increased by providing multiple paths for all routes. When this multipath approach is applied to routers between fabrics, it complicates the handling of the ELS REQ and RSP packets. Because an ELS RSP packet may travel a different route back to the source than was traveled by the ELS REQ packet, each router in the multiple paths must be aware of any needed translations. Therefore when a given router receives an ELS REQ packet that will have an ELS RSP packet that contains an address, information of that ELS REQ packet must be provided to all routers that might handle the ELS RSP packet, that is, all multipath routers. This requires additional packets be communicated between the routers themselves to maintain state. Then when the ELS RSP packet is received and has been modified as needed, the receiving router must inform all of the other routers that the ELS RSP packet has been processed so that the sequence can be removed from state memory. So yet another inter-router communication must occur. These inter-router communications are all handled by the router processors, so they further exacerbate performance issues of the processors, as well as slow down operations due to wait times for router responses before the actual packets can be forwarded.
Therefore, while routers have allowed much larger networks to be developed practically, the networks are again at the limits of growth, in part due to limitations of router processors.